// pages/index/bindingBeeper/index.js
const $api = require('../../../../request/api').API;
import Toast from '../../../../miniprogram_npm/@vant/weapp/toast/toast';
const app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    beeperId: '',
    equipCode: '',
    equipId: '',
    equipType: '',
    beeperList: [], // 呼叫器列表
    showBeeper: false, // 是否显示呼叫器列表
    beeperName: '',
    localeId: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad({ scene, localeId }) {
    // 如果是内部场所扫码进来的就会有localeId(场所id)
    scene = decodeURIComponent(scene);
    console.log(scene, '解码', scene);
    if (localeId) {
      this.setData({
        localeId
      });
    }
    if (scene != 'undefined') {
      // 有scene代表扫码进的小程序
      this.code = scene.split('ec=')[1];
      app.isLogin(this.getEquipInfo);
    }
  },
  // equipNameInput(e) {
  //   let value = e.detail.value;
  //   this.setData({
  //     equipName: value
  //   })
  // },
  // 获取设备信息
  getEquipInfo() {
    var that = this;
    let params = {
      code: this.code
    };
    $api
      .getEquipInfo(params)
      .then(res => {
        if (res.data.data) {
          that.setData({
            equipCode: res.data.data.equipCode,
            equipId: res.data.data.equipId,
            equipType: res.data.data.equipType
          });
          // 获取呼叫器列表
          that.beeperList();
        }
      })
      .catch(err => {
        wx.switchTab({
          url: '/pages/equipment/index'
        });
      });
  },
  // 获取呼叫器列表
  beeperList() {
    const { localeId } = this.data;
    $api
      .beeperList({ localeId })
      .then(res => {
        const beeperList = res.data.data || [];
        const modifyData = { beeperList };
        if (beeperList.length && localeId) {
          // 如果进来的时候又有场所那么就直接选中场所的呼叫器
          modifyData.beeperId = beeperList[0].id;
          modifyData.beeperName = beeperList[0].name;
        }
        this.setData(modifyData);
        localeId && this.bindingSumbit();
      })
      .catch(err => {
        console.log('获取呼叫器列表', err);
      });
  },

  // 绑定-有主用户
  bindingSumbit() {
    const { equipId, beeperId } = this.data;
    let params = {
      equipId,
      beeperId
    };
    if (params.beeperId == '') {
      Toast('请选择关联呼叫器');
      return;
    }
    // if (params.equipName == '') {
    //   Toast('请输入设备昵称')
    //   return
    // }
    $api
      .equipBinding(params)
      .then(res => {
        // if (res.data.status == 0) {
        Toast.success('绑定成功');
        app.globalData.localeId = res.data.data;
        setTimeout(() => {
          wx.switchTab({
            url: '/pages/equipment/index'
          });
        }, 1000);
        // }
      })
      .catch(err => {
        console.log('绑定报错', err);
      });
  },
  // 选择场所是否自定义
  // onChange(event) {
  //   this.setData({
  //     radioCS: event.detail,
  //     beeperName: ''
  //   });
  // },
  // 打开呼叫器选择
  clickShowBeeper() {
    this.setData({
      showBeeper: true
    });
  },
  // 呼叫器弹框取消
  cancelBeeperPopup() {
    this.setData({
      showBeeper: false
    });
  },
  // 场所弹框确认
  confirmBeeperPopup(event) {
    const { value } = event.detail;
    this.setData({
      beeperName: value.name,
      beeperId: value.id,
      showBeeper: false
    });
  },
  // 取消
  cancelBtn() {
    Toast('您取消了绑定');
    setTimeout(() => {
      wx.switchTab({
        url: '/pages/equipment/index'
      });
    }, 1000);
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {}
});
